
function getFormData(dom){
    let array = $(dom).serializeArray();
    let obj = {}
    for(let i in array){
        obj[array[i].name] = array[i].value
    }
    return obj;
}

var token = $('meta[name="csrf-token"]').attr('content');

/**
 *
 */
var loading;
var a = function () {
    this.msg = function (msg,option) {
        var c = {content: msg,skin: 'msg'}
        if(option==undefined || option.time ==undefined){
            c.time = 2
        }
        return layer.open(Object.assign(c,option));
    }
}
var mylayer = new a();
/**
 * 发起post请求
 * @param url
 * @param data
 * @param success
 * @param error
 */
function postend(url,data={},success='',error) {
    serror = function (res) {
        layer.msg(res ? res.msg : '服务器错误')
        if(typeof error == 'function' ){
            error(res);
        }
    }
    $.ajax({
        headers: {
            'X-CSRF-TOKEN': token
        },
        url:url,
        type:'post',
        dataType:'json',
        data:data,
        success(res){

            if (res.code===0 && typeof success =='function'){
                success(res)
            }else if(typeof error =='function'){
                error(res)
            }else{
                layer.msg(res.msg,{icon:5,anim: 6,time:res.time*1000})
            }
            if(res.data!=null && res.data.token != undefined){
                token = res.data.token
            }
        },
        error(res){
                console.log(res)
                $("#error").append(JSON.stringify(res.responseJSON) );
                serror()
        },
    })
}

/**
 * 移动端发起post请求
 * @param url
 * @param data
 * @param success
 * @param error
 * @param loadmsg status 0禁用，1自动关闭，2手动关闭，3错误自关(成功手关)
 */
var loading;
function mpostend(url,data={},success='',error='',loadmsg={status:1,msg:'努力加载中，请耐心等待'}) {
    serror = function (res,er) {
        if(er==undefined){
            mylayer.msg(res ? res.msg : '服务器错误')
            if(typeof error == 'function' ){
                error(res);
            }else{
                if(res.url!=undefined &&res.url!=''){
                    setTimeout(function () {
                        location.href=res.url;
                    },res.time*1000)
                }
            }
        }else if(er == 'timeout'){
            mylayer.msg('连接超时,请重试')
        }else if(res.status == 404){
            mylayer.msg('无效访问')
        }else{
            mylayer.msg('服务器错误，请联系我们')
        }

        if(loadmsg.status==3){
            layer.close(loading)
        }
    }
    $.ajax({
        headers: {
            'X-CSRF-TOKEN': token
        },
        timeout : 20000,
        url:url,
        type:'post',
        dataType:'json',
        data:data,
        beforeSend(res){
            if(loadmsg.status!==0){
                loading = layer.open({
                    type: 2,
                    content: loadmsg.msg,
                    shadeClose: false,
                });
            }
        },
        success(res){
            if(res==null){
                serror(res)
                return false;
            }
            if(res.data!=null && res.data.token != undefined){
                token = res.data.token
            }
            if (res.code===0 && typeof success =='function'){
                success(res)
            }else{
                serror(res)
            }
        },
        error(res,textStatus){
            serror(res,textStatus)
        },
        complete(){
            if(loadmsg.status==1){
                layer.close(loading)
            }

        }
    })
}

